package com.project.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * 项目结项对象 biz_project_complete
 *
 * @author ruoyi
 * @date 2025-02-18
 */
@Data
@ApiModel("项目结项信息")
public class BizProjectComplete {

    private static final long serialVersionUID = 1L;

    /** id */
    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    private String ID;

    /** 结项报告 */
    @ApiModelProperty("结项报告")
    private String fileId;

    /** 结项说明 */
    @ApiModelProperty("结项说明")
    private String note;

    /** 项目id */
    @ApiModelProperty("项目id")
    private String projectId;

    /** 项目性质 */
    @ApiModelProperty("项目性质")
    private String projectClass;

    /** 创建人id */
    @ApiModelProperty("创建人id")
    private String createuserid;

    /** 最后编辑人id */
    @ApiModelProperty("最后编辑人id")
    private String lastedituserid;

    /** 创建时间 */
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createdate;

    /** 最后编辑时间 */
    @ApiModelProperty("最后编辑时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date lasteditdate;

    /** 创建人姓名 */
    @ApiModelProperty("创建人姓名")
    private String createusername;

    /** 最后编辑人姓名 */
    @ApiModelProperty("最后编辑人姓名")
    private String lasteditusername;

    /** 审核状态 */
    @ApiModelProperty("审核状态")
    private String checkstatus;

    /** 审核时间 */
    @ApiModelProperty("审核时间")
    private String checkdate;

    /** 审核人 */
    @ApiModelProperty("审核人")
    private String checker;

    /** 结项日期 */
    @ApiModelProperty("结项日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结项日期")
    private String completeDate;

    /** 验收类型 */
    @ApiModelProperty("验收类型")
    private String acceptanceType;

    /** 项目类型 */
    @ApiModelProperty("项目类型")
    private String projectType;

    /** 文件名称 */
    @ApiModelProperty("文件名称")
    @TableField(exist = false)
    private String fileName;

    /** 流程id */
    @ApiModelProperty("流程id")
    private String processInstanceId;

    /** 提交类型 */
    @ApiModelProperty("提交类型 -> -1:暂存,1:提交,2:保存并通过")
    @TableField(exist = false)
    private Integer submitType;

    /** 流程节点id */
    @ApiModelProperty("流程节点id")
    @TableField(exist = false)
    private String taskId;

    /** 是否当前审批人 */
    @TableField(exist = false)
    private Boolean isAuditor;
}
